import 'package:get/get.dart';
import 'package:stock_helper/modules/main/controllers/main_view_controller.dart';
import 'package:stock_helper/modules/settings/controllers/settings_controller.dart';

import '../../../core/network/bao_stock_service.dart';
import '../../../core/network/socket_client.dart';
import '../../../core/network/stock_api_service.dart';
import '../../../core/network/stock_data_service.dart';
import '../../../core/network/stock_list_service.dart';
import '../../../data/datasource/local/database.dart';
import '../../condition/controllers/buy_conditions_controller.dart';
import '../../discover/controllers/recent_closing_price_controller.dart';
import '../../position/controllers/buy_record_controller.dart';
import '../../position/controllers/position_controller.dart';


class MainBinding implements Bindings {
  @override
  void dependencies() {
    Get.lazyPut(() => MainViewController());
    Get.lazyPut(() => SocketClient());
    Get.lazyPut(() => BaoStockService());
    Get.lazyPut(() => StockApiService());
    Get.lazyPut(() => StockListService());
    Get.lazyPut(() => StockDataService());
    Get.lazyPut(() => RecentClosingPriceController());
    Get.lazyPut(() => BuyConditionsController());
    Get.lazyPut(() => SettingsController());
    Get.lazyPut(() => PositionController());
    Get.lazyPut(() => BuyRecordController());
  }
}